using System;
using System.Collections.Generic;
using System.Text;

namespace Xyne.Network
{
    public enum NetworkDataType
    {
        Unknown = 0,        // Unknown Type
        End                 // End the game (both)
    };

    /// <summary>
    /// Network data carries an unique ID and can be serialized
    /// </summary>
    public abstract class NetworkData
    {
        NetworkDataType type = NetworkDataType.Unknown;

        public NetworkDataType DataType
        {
            get { return type; }
            set { type = value; }
        }

        // Serialize to string for now
        public abstract NetworkData Create(String serializedData);
        public abstract String Serialize();
    }
}
